package com.hpli.infrastructure.persistent.po;

import java.math.BigDecimal;
import java.util.Date;

/**
 * Table: strategy_award
 */
public class StrategyAward {
    /**
     * Column: id
     * Type: BIGINT UNSIGNED
     * Remark: 自增ID
     */
    private Long id;

    /**
     * Column: strategy_id
     * Type: BIGINT
     * Remark: 抽奖策略ID
     */
    private Long strategyId;

    /**
     * Column: award_id
     * Type: INT
     * Remark: 抽奖奖品ID - 内部流转使用
     */
    private Integer awardId;

    /**
     * Column: award_title
     * Type: VARCHAR(128)
     * Remark: 抽奖奖品标题
     */
    private String awardTitle;

    /**
     * Column: award_subtitle
     * Type: VARCHAR(128)
     * Remark: 抽奖奖品副标题
     */
    private String awardSubtitle;

    /**
     * Column: award_count
     * Type: INT
     * Default value: 0
     * Remark: 奖品库存总量
     */
    private Integer awardCount;

    /**
     * Column: award_count_surplus
     * Type: INT
     * Default value: 0
     * Remark: 奖品库存剩余
     */
    private Integer awardCountSurplus;

    /**
     * Column: award_rate
     * Type: DECIMAL
     * Remark: 奖品中奖概率
     */
    private BigDecimal awardRate;

    /**
     * Column: rule_models
     * Type: VARCHAR(256)
     * Remark: 规则模型，rule配置的模型同步到此表，便于使用
     */
    private String ruleModels;

    /**
     * Column: sort
     * Type: INT
     * Default value: 0
     * Remark: 排序
     */
    private Integer sort;

    /**
     * Column: create_time
     * Type: DATETIME
     * Default value: CURRENT_TIMESTAMP
     * Remark: 创建时间
     */
    private Date createTime;

    /**
     * Column: update_time
     * Type: DATETIME
     * Default value: CURRENT_TIMESTAMP
     * Remark: 修改时间
     */
    private Date updateTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getStrategyId() {
        return strategyId;
    }

    public void setStrategyId(Long strategyId) {
        this.strategyId = strategyId;
    }

    public Integer getAwardId() {
        return awardId;
    }

    public void setAwardId(Integer awardId) {
        this.awardId = awardId;
    }

    public String getAwardTitle() {
        return awardTitle;
    }

    public void setAwardTitle(String awardTitle) {
        this.awardTitle = awardTitle == null ? null : awardTitle.trim();
    }

    public String getAwardSubtitle() {
        return awardSubtitle;
    }

    public void setAwardSubtitle(String awardSubtitle) {
        this.awardSubtitle = awardSubtitle == null ? null : awardSubtitle.trim();
    }

    public Integer getAwardCount() {
        return awardCount;
    }

    public void setAwardCount(Integer awardCount) {
        this.awardCount = awardCount;
    }

    public Integer getAwardCountSurplus() {
        return awardCountSurplus;
    }

    public void setAwardCountSurplus(Integer awardCountSurplus) {
        this.awardCountSurplus = awardCountSurplus;
    }

    public BigDecimal getAwardRate() {
        return awardRate;
    }

    public void setAwardRate(BigDecimal awardRate) {
        this.awardRate = awardRate;
    }

    public String getRuleModels() {
        return ruleModels;
    }

    public void setRuleModels(String ruleModels) {
        this.ruleModels = ruleModels == null ? null : ruleModels.trim();
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}